import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import eslintPlugin from 'vite-plugin-eslint'
import { resolve } from 'path'
import { viteMockServe } from 'vite-plugin-mock'

// const localEnabled: boolean = (process.env.USE_MOCK as unknown as boolean) || false
// const prodEnabled: boolean = (process.env.USE_CHUNK_MOCK as unknown as boolean) || false

export default defineConfig({
  resolve: {
    //设置别名
    alias: {
      '@': resolve(__dirname, './src'),
    },
  },
  plugins: [
    vue(),
    eslintPlugin({
      include: ['src/**/*.ts', 'src/**/*.vue', 'src/*.ts', 'src/*.vue'],
    }),
    viteMockServe({
      // ↓解析根目录下的mock文件夹
      mockPath: './mock',
      localEnabled: true, // 开发打包开关
      // prodEnabled: prodEnabled, // 生产打包开关
      // supportTs: true, // 打开后，可以读取 ts 文件模块。 请注意，打开后将无法监视.js 文件。
      watchFiles: true, // 监视文件更改
    }),
  ],
  css: {
    preprocessorOptions: {
      // 配置sass代理
      scss: {
        additionalData: '@import "@/styles/variable.scss";',
      },
    },
  }, // 代理配置
  server: {
    proxy: {
      // 指定代理所有/api请求
      '/api': {
        // 代理请求之后的请求地址
        target: 'http://127.0.0.1:5173',
        // 跨域
        changeOrigin: true,
      },
    },
  },
})
